package hao.bk.sql.dao;

import java.util.ArrayList;
import java.util.Collections;

import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import hao.bk.royalmap.RoyalMapActivity;
import hao.bk.sql.bo.Typeshop;
import hao.bk.sql.sqlutils.SQLiteHelper;
import hao.bk.utils.Constants;

/** Thực hiện thao tác thêm, sửa,xóa bảng typeshop trong CSDL
 * 
 * @author Haodv
 *
 */
public class TypeShopDAO {
	private static final String TYPESHOP_TABLE = "typeshop";
	private static final String TYPESHOP_ID_COLUMN = "_id";
	private static final String TYPESHOP_NAME_COLUMN = "name";
	
	private static final String[] allColumns = {TYPESHOP_ID_COLUMN, TYPESHOP_NAME_COLUMN };
	
	private SQLiteHelper sqLiteHelper;
	
	public TypeShopDAO(RoyalMapActivity context) {
		sqLiteHelper = new SQLiteHelper(context);
	}
	/**
	 * Lấy thông tin tên các loại cửa hàng trong bảng cơ sở dữ liệu
	 * 
	 * @return: danh sách các đối tượng typeshop, lưu thông tin typeshop
	 */
	public ArrayList<Typeshop> getTypeshopList() {
		ArrayList<Typeshop> typeshopList = new ArrayList<Typeshop>();
		SQLiteDatabase database = null;
		try {
			database = sqLiteHelper.open();
			if (database != null) {
				Cursor cursor = database.query(TYPESHOP_TABLE, allColumns, null, null, null, null,null);
				cursor.moveToFirst();
				while (!cursor.isAfterLast()) {
					Typeshop typeshop = convertTo(cursor);
					if (typeshop != null) {
						typeshopList.add(typeshop);
					}
					cursor.moveToNext();
				}
				cursor.close();
				//database.close();
			}
		} catch (Exception e) {
			Log.e(Constants.TAG, "getTypeshopList: Lấy dữ liệu của bảng bị lỗi: " + TYPESHOP_TABLE);
		} finally {
			SQLiteHelper.closeDB(database);
			sqLiteHelper.close();
		}
		
		return typeshopList;
	}
	/**
	 * chuyển đổi đối tượng cursor lưu trữ dữ liệu từ CSDL sang đối tượng
	 * typeshop
	 * 
	 * @param cursor
	 * @return
	 */
	private Typeshop convertTo(Cursor cursor) {
		Typeshop typeshop = new Typeshop();
		typeshop.setId(cursor.getInt(0));
		typeshop.setName(cursor.getString(1));
		return typeshop;
	}


}
